package main;

/**
 *
 * @author Ileana Natalia Díaz Palacios
 * Programación III
 * Universidad Nacional
 * 
 */

import javax.swing.*;
import aplicacion.control.*;
import aplicacion.vista.*;

public class Principal {

    public static void main(String[] args) {

        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            JFrame.setDefaultLookAndFeelDecorated(true);
        } catch (Exception e) {
            e.printStackTrace(System.err);
        }

        Principal aplicacion = new Principal();
        aplicacion.init();
    }

    public void init() {

        // Se crean los componentes principales del programa.
        // (El modelo es referenciado directamente por la clase de control).

        gestorPrincipal =
                new ControlAplicacion();
        principal = new Interfaz("Graficador de Polìgonos",
                640,480, gestorPrincipal);

        // Se inicia la interfaz de la aplicación.

        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                System.out.println("Iniciando interfaz..");
                mostrarInterfaz();
            }

        });

        System.out.println("** Programa finalizado normalmente.");
    }

    public void mostrarInterfaz() {
        principal.init();
    }

    private ControlAplicacion gestorPrincipal = null;
    private Interfaz principal = null;

}
